/**
 * @file
 * Instance isomorphism test
 */

#include "expansion_graph_instance_test.h"
#include "instance_isomorphism.h"

TEST_F(ExpansionGraphInstanceTest, IsomorphismTest)
{
  EXPECT_TRUE(instance_isomorphism(g1_i1, g1_i2));
  EXPECT_TRUE(instance_isomorphism(g1_i2, g1_i1));

  EXPECT_TRUE(instance_isomorphism(g1_i1, g1_i3));
  EXPECT_FALSE(instance_isomorphism(g1_i3, g1_i1));

  EXPECT_TRUE(instance_isomorphism(g1_i2, g1_i3));
  EXPECT_FALSE(instance_isomorphism(g1_i3, g1_i2));

  EXPECT_TRUE(instance_isomorphism(g1_i3, g1_i4));
  EXPECT_TRUE(instance_isomorphism(g1_i4, g1_i3));

  EXPECT_TRUE(instance_isomorphism(g1_i1, g2_i2));
  EXPECT_TRUE(instance_isomorphism(g1_i2, g2_i1));

  EXPECT_TRUE(instance_isomorphism(g1_i1, g2_i3));
  EXPECT_FALSE(instance_isomorphism(g1_i3, g2_i1));

  EXPECT_TRUE(instance_isomorphism(g1_i2, g2_i3));
  EXPECT_FALSE(instance_isomorphism(g1_i3, g2_i2));

  EXPECT_TRUE(instance_isomorphism(g1_i3, g2_i4));
  EXPECT_TRUE(instance_isomorphism(g1_i4, g2_i3));
}  
